package com.liyujie.serialport.utils;

import android.app.Service;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.content.ServiceConnection;
import android.os.IBinder;

import com.blankj.utilcode.util.LogUtils;
import com.liyujie.serialport.receiver.CH340USBSK;

public class SKCH340Utils {
    //刷卡的
    private static ServiceConnection serviceSerialPort;
    private static boolean mCreditCard;
    public static void initialize(Context mContext){
        serviceSerialPort = new ServiceConnection() {
            /**
             * 与服务器端交互的接口方法 绑定服务的时候被回调，在这个方法获取绑定Service传递过来的IBinder对象，
             * 通过这个IBinder对象，实现宿主和Service的交互。
             */
            @Override
            public void onServiceConnected(ComponentName name, IBinder service) {
            }
            /**
             * 当取消绑定的时候被回调。但正常情况下是不被调用的，它的调用时机是当Service服务被意外销毁时，
             * 例如内存的资源不足时这个方法才被自动调用。
             */
            @Override
            public void onServiceDisconnected(ComponentName name) {
                LogUtils.d(name);
            }
        };
        Intent intent =new Intent(mContext, CH340USBSK.class);
        mCreditCard = mContext.bindService(intent,serviceSerialPort, Service.BIND_AUTO_CREATE);
    }
    /**
     * 解除
     */
    public static void unbindServiceSerialPort(Context mContext){
        if(null != serviceSerialPort && mCreditCard){
            try {
                mContext.unbindService(serviceSerialPort);
                mCreditCard = false;
            }catch (Exception e){
                LogUtils.d(e.getMessage());
            }
        }
    }

}
